16 Ottobre 2023

Disponibile il "Zen-Core Editor-Librarian" per Roland Fantom 6-7-8/06-07-08, AX-Edge e Jupiter-X/Xm
e una libreria di suoni ZEN-Core (222 tones)

Caratteristiche, Demo, Manuali  e sezioni dedicate al seguente

 LINK



31 Maggio 2022

Oscillatori Super Saw in Roland ZenCore e System-8 e Oscillatori VA in ZenCore


 


Gli oscillatori Super Saw sono implementati tramite sintesi Virtual Analog nel synth System-8 e nella versione software disponbile tramite RolandCloud; nella famiglia dei synth che utilizzano la sintesi Zen-Core (Fantom, Fantom0, JunoX, JupiterX/XM, Ax Edge,..) e nel virtual Zenology Pro, vengono utilizzati due multicampioni detunabili tramite il parametro Super Saw Detune.

Tramite analizzatore di spettro è visibile una banda di frequenze con ampiezze fortemente attenuate che suonando note più acute si spostano verso i 20 KHz, prima dell' innesco del nuovo campione che si ha ogni 10-12 semitoni: è il tipico effetto del filtro utilizzato nella tecnologia del playback di campioni, che serve per eliminare gli armonici indesiderati a cavallo della "Nyquist frequency" (frequenza pari alla metà del Sample Rate).



Un'altra differenza molto evidente che rivela la tecnologia usata (VA per System-8 e Multisample in ZenCore) la si verifica suonando le note più basse e quelle più acute.

Nel caso di note basse (C0 e G-1 nell'esempio) per riparmiare lo spazio occupato dai multisamples che nel range basso per nascondere l'effetto del loop devono avere durata elevata, si ricorre alla trasposizione in basso per una o più ottave di un suono campionato su note più alte: in tal caso nella trasposizione, l'algoritmo di interpolazione è costretto ad applicare un filtro passa basso che attenua le frequenze più alte. Anche in questo caso la differenza è parecchio evidente.


Quando ci si sposta nella riproduzione di note più alte (G8 nell'esempio), il transpose di un campione risente di un aliasing più evidente rispetto alla implementazione VA: anche in questo caso nella analisi spettrale appare evidente la presenza di un numero maggiore di armoniche spurie.

Anche se l'analisi spettrale mostra in maniera evidente la differente sintesi utilizzata nelle due implementazioni e tutti i limiti, noti, dovuti all'utilizzo di multisamples, c'è da dire che Roland ha effettuato un ottimo lavoro in Zencore: le differenze sono minime e sono principalmente concentrate in dei range di note di fatto quasi mai utilizzate.

I vantaggi di tale scelta sono quelli ben noti che caratterizzano la sintesi Zen Core: piccoli compromessi sulla qualità della sintesi che vengono compensati con una polifonia elevata e con l'inserimento di una catena di sintesi molto complessa che in questo caso può operare anche su gli oscillatori SuperSaw: sintesi con 4 parziali potenzialmente tutti Super Saw, matrice di modulazione in grado di operare sul detune della Super Saw, LFO con sequence a 16 step. etc, etc.

Ovviamente quanto visto vale solo per gli oscillatori SuperSaw: al contrario il motore ZenCore (sintesi ABM) non presenta nessuno dei limiti visti quando si utilizzano gli oscillatori VA che sono calcolati alla massima qualità e permettono delle ottime possibilità di editing grazie ai parametri Pulse Width e FAT che operano su tutte 9 le onde disponibili: SAW, SQR, TRI (in 3 diverse implementazioni), SIN (pura e distorta), RAMP e JUNO.

Pulse Width e FAT sono modulabili in tempo reale tramite i 3 inviluppi, 2 LFO (anche nella versione con Wave a 16 step) e controlli MIDI: mediante la matrice di modulazione della sintesi ZenCore è possibile sfruttare tali parametri per esplorare una serie innumerevole di tipologie di suoni. Come se non bastasse tramite X-MOD2 si può realizzare anche la sintesi FM lineare con ciascuna di tali onde e i relativi parametri PW e FAT.

In più in ZenCore c'è la possibilità di lasciare bloccata la fase degli oscillatori VA (parametro Phase Lock) così da attivarli con fase 0 ad ogni Key ON e opzionalmente invertire la loro fase (sfasamento di 180°): Phase Lock e Fase Invertita  applicate ad oscillatori VA con onde diverse, magari leggermente detunate, aprono la strada a tantissime altre possibilità sonore.

Segue un esempio dove il paramentro Phase Lock è attivo, un parziale utilizza una onda quadra e nel secondo parziale ci sono alternativamente una sinusoide  o una triangolare con fase invertita e frequenza doppia. La forma d'onda ottenuta è esattamente quella che ci si aspetta.

Come se non bastasse nel firmware 3.0 di JupiterX è stata attivata, sempre in ZenCore, la funzionalità che permette di selezionare la fase degli oscillatori VA con step di 5° (ci sono 72 possibili valori, 0-5°,10°,15°,...360°): con gli oscillatori bloccati tramitre Phase Lock, tale funzione permette di creare combinazioni di oscillatori che sommati attivano nuove e inedite possibilità. Si spera di trovare tale parametro attivo in tutti gli altri synth ZenCore con i nuovi firmware.


Segue una animazione GIF dove sono visibili i vari oscillatori VA "puri": in un paio di fotogrammi appaiono gli effetti di Pulse Width e FAT su oscillatori Sin e Juno.
La Pulse Width applicata alla sinusoide realizza le distorsioni di fase ben note nella sintesi Casio PD (CZ-101, CZ-1000,...)

Qui il link con le immagini delle varie forme d'onda

31 Marzo 2022

Le espansioni Roland “Wave Expansion” e “SuperNATURAL Expansion”: formati compressi e 16 bit lineari


 

Il 16 Marzo Roland ha presentato i nuovi Synth/Workstation Fantom06/07/08 che, a causa della User Memory Flash di 256 MByte, ha posto tutta una serie di domande sulla reale capienza di tale memoria che condivide e può ospitare le “Wave Expansion” (EXZ001-EXZ015), le “SuperNATURAL Expansion” (EXSN01-03) e gli User samples e multisamples utilizzabili all’interno della sintesi Zen-Core.

Il dubbio principale nasce dal fatto che i nuovi Fantom0 sono venduti con all’interno le tre espansioni SuperNATURAL Acoustic Piano1 - SuperNATURAL Acoustic Piano2 e SuperNATURAL Electric Piano 1: tali espansioni, che tra l’altro possono essere anche cancellate, occupano 120 MByte (46% della capienza complessiva) lasciando uno spazio libero pari a 136 MByte che è quello che ci si ritrova acquistando il Synth.

Ciò che ha creato notevoli perplessità è che in tali 136 MByte è possibile caricare ben 4 espansioni EXZ, nonostante il fatto che ciascuna di queste è un file di dimensioni comprese tra i 96 e i 128 MByte. Come è possibile caricare dei file superiori a 400 MByte, in uno spazio della flash di 136 MByte?
Grazie alla possibilità di cancellare le 3 espansioni SuperNATURAL, è possibile liberare del tutto i 256 MByte della Flash e poi caricare fino a 8 espansioni EXZ, nonostante la capienza complessiva dei file (si scaricano da RolandCloud con il RC Manager) è di circa 900 MByte, valore più di tre volte superiore rispetto alla Flash disponibile. Altra domanda a cui rispondere: come è possibile che i file delle tre espansioni SuperNATURAL, che occupano complessivamente 440 Mega, possano occupare solo 120 Mega quando vengono caricate nella flash?

La risposta è molto semplice: dai file scaricati tramite RCM (Roland Cloud Manager) e caricati in Fantom0 tramite USB, viene trasferita nella Flash solo una piccola porzione dei dati presenti nei file.
Stessa cosa succede per altri synth Roland quali RD-88, AX Edge e Jupiter X/XM.

Per capire meglio, occorre fare un piccolo passo indietro nel tempo e tornare agli anni 1988-1990 in cui Roland presenta la famiglia dei Moduli/Synth U-110/U-220 e U-20, D-70: è il primo passo di Roland nell’utilizzo dei Multisample che sono memorizzati nelle ROM e nelle Card di espansione.

Per risparmiare prezioso spazio, Roland adotta una tecnica di compressione chiamata RS-PCM, molto probabilmente acronimo di "Reduced Size PCM". Tale codifica, probabilmente non particolarmente efficiente, viene subito abbandonata.
E’ un primo passo verso la ingegnerizzazione di un nuovo codec di compressione chiamato FCE-DPCM che per la prima volta viene utilizzato nella Flash del JD-800 (è il 1991): tutti i synth Roland successivi, dalla famiglia JV e XV degli anni 90, passando ai vari moduli GM/GS, fino ai recentissimi Integra-7 (2012), FA-06/8 (2014) utilizzano tale codifica di compressione.

Roland non ha mai reso note le caratteristiche di questo codec per evidenti motivi di copyright, ma ha dato la possibilità agli utenti “smanettoni” di curiosare su tale formato grazie al fatto che è utilizzato per esempio nelle varie espansioni liberamente scaricabili su axial.roland.com o nella schedina SD presente all’interno di Integra-7.

Ad oggi, l’unico utente che ha dichiarato di essere riuscito a decodificare tale codec è stato il WebMaster del sito dtech.lv che tra l’altro, a prova delle sue capacità, ha reso disponibile, qualche anno fa, il prezioso contenuto della FlashROM dei campioni del JD800 nella versione originale (3 MByte compressa nel formato FCE-DPCM) e nel corrispondente formato in chiaro a 16 bit lineari (dimensione di poco inferiore ai 6 MByte).

Riguardo la qualità di tale codec è noto che ha un rapporto di compressione variabile che riduce la dimensione di un fattore compreso tra 1:2 e 1:3 e che dipende dal tipo di campioni di origine (lo vedremo tra breve): l’autore che lo ha decodificato lo descrive come altamente ottimizzato, tanto da avere una dinamica comparabile a quella di un campione a 24 bit lineare con piccoli artefatti evidenti solo negli attacchi più rapidi.

Nel 2019 arriva il Fantom e per la prima volta i multisamples utilizzati per le espansioni esterne sono nel formato 16 bit lineare: il download delle espansioni Wave Expansion (EXZ001-EXZ015) lo si poteva effettuare sempre tramite http://axial.roland.com/ in quanto non esisteva ancora Zenology PRO che debutta nell’anno successivo, (12 maggio 2020) all’interno del pacchetto Roland Cloud.

Tali file EXZ, oggi inutilizzabili con i nuovi firmware di Fantom, hanno una dimensione ridotta rispetto a quelli scaricabili oggi tramite RCM in quanto contengono solo tale versione con samples codificati a 16 bit lineari e quindi non compressi.
Con l’avvento di Zenology, Roland aggiunge due novità: la prima è l’inserimento delle informazioni di licenza (48 Byte) all’interno delle Wave Expansion che rendono i file EXZ scaricati da Roland Cloud unici per una manciata di byte e associati all’account che li ha creati; la seconda novità è l’inserimento all’interno di tali file della versione dei multisamples compressi nel formato FCE-DPCM.
Il doppio formato è presente anche nelle “SuperNATURAL Expansion”.

Qui uno shot dove si visualizza, ad esempio, l’espansione EXZ009 - EXZ Symphonique Strings nella versione del sito Axial (multisamples in 16 bit lineari) e in quella scaricabile con RCM. La parte compressa ha la stessa dimensione di quella presente nelle vecchie espansioni per FA-06/08.

La presenza all’interno dei file EXZ di multisamples nel doppio formato (compresso e 16 bit lineare) e l’inserimento dei 48 byte di licenza, garantisce a Roland tutta una serie di vantaggi:

- caricamento delle versioni compresse in Fantom0 (user flash 256 MByte), AX Edge, RD-88 e JupiterX/XM (hanno flash libera poco superiore ai 64 MByte) e caricamento delle versioni 16 bit lineari in Fantom
- caricamento delle versioni con licenza (perpetua o in abbonamento) in Zenology
- distinzione, grazie ai 48 byte di licenza, delle versioni free per Fantom e Fantom0 e quelle a pagamento per AX Edge, JupiterX/XM e RD-88

Riguardo le tre “SuperNATURAL Expansion” (EXSN01-03) la struttura è identica, con l’unica differenza che, armeno per ora, è possibile utilizzare tali espansioni solo con Fantom e Fantom0

Seguono degli shot in cui sono mostrate le dimensioni delle due versioni presenti nei file, lo spazio vuoto (una serie di byte pari a zero) e il rapporto di compressione tra la versione compressa e quella 16 bit lineare.

Analizzando le dimensioni si dà chiara risposta alle domande poste all’inizio.

 

 

 

Qualche breve osservazione.

La prima è che i multisamples compressi presenti nei file EXZ hanno tutti una dimensione pari a 32 MByte: questo è coerente con il fatto che derivano dalle schede di espansione SRX, tutte avente capienza massima pari a 32 MB e compatibili con la vecchia serie di serie di Fantom, la famiglia XV (5080, 5050, 3080, 2020) e JV (1080-2080).

La seconda osservazione è che il rapporto di compressione del codec FCE-DPCM, come si vede in tabella, non è fisso: questo è tipico dei codec Lossless e dei codec che introducono solo piccole approssimazioni in fase di compressione.
La compressione ottenibile è strettamente legata alla caratteristica del file di origine.

L’ultima osservazione riguarda la qualità del suono: quanto un Fantom0 che legge i multisamples compressi con il codec FCE-DPCM suona “peggio” rispetto al Fantom che legge i file 16 bit lineari (ovviamente escludiamo l’incidenza dei convertitori)?
Io non darei per scontato che per le 15 EXZ, ci sia un deterioramento della qualità perché è tutto da dimostrare che Roland con Fantom sia ripartita dai sample originali non compressi (materiale degli anni 90) e li abbia inseriti nelle EXZ senza direttamente: potrebbe darsi che la scelta di utilizzare la codifica 16 bit lineare sia dovuta alla architettura di Fantom che è molto complessa come si può vedere dallo schema che segue e che pertanto obblighi i BMC a lavorare con samples necessariamente non compressi.

In Fantom, infatti, tutti i samples utilizzabili (interni, espansioni e user) sono memorizzati all'interno di una memoria eMMC di 4 GByte e all’accensione vengono interamente trasferiti nella RAM (anche essa di 4 Gbyte): mentre vengono sintetizzati i suoni, i dati necessari  vengono distribuiti alla piccola RAM (32 MB) associata a ciascuno dei  4 BMC,  tramite 2 FPGA Altera Cyclone V.
AX Edge, JupiterX e presumibilmente Fantom0 hanno invece una architettura più classica dove i samples rimangono sempre nella Flash e vengono caricati, all’occorrenza, nella piccola memoria di 32 MByte che accompagna ogni BMC.
Non è pertanto da escludere che Roland, per le conversioni delle vecchie schede SRX in EXZ,  in Fantom ha semplicemente riconvertito in 16 bit lineari i file compressi, senza ovviamente poterne miglorarne la qualtà, "obbligata" da soli motivi di architettura HW.

Riguardo i suoni più recenti (vedi ad esempio il SN AcPiano2 e le prime  4 espansioni EXZ che non derivano dalle vecchie schede SRX) certamente la natura non compressa dei samples garantisce in Fantom una qualità leggermente migliore rispetto a quella di Fantom0 che è costretto ad utilizzare la versione compressa. L'ottima qualità del codec FCE-DPCM è garanzia comunque di una differenza al limite dell'impercettibile.

 

Concludo con un video che ho realizzato qualche mese fa di un "Teardown" del mio Roland AX- Edge con immagini e dettagli dell'Hardware: riguardo la parte relativa alla generazione sonora l'audio mainboard contiene un singolo SoC Roland BMC, 48 MByte di RAM e 256 di flash che contiene fino a 2 espansioni EXZ e  i circa 150 MByte di firmware e samples ZenCore: in più è presente una seconda Flash più piccola e più lenta (48 MByte) probabilmente utilizzata per la memorizzazione dei toni e performance.

6 Febbraio 2022

Program Change - MSB-LSB


 

Ho realizzato un piccolo software che permette in maniera molto rapida di settare e inviare i parametri Midi Control Change MSB e LSB di Bank Select + ProgramChange ad un synth, tramite Midi.

Nato per testare le implementazioni Midi di alcuni miei synth (Roland Fantom, Yamaha Montage e Jupiter XM in primis), ho pensato di condividerlo e renderlo scaricabile e utilizzabile da chiunque. Ci sono infiniti modi per ottenere la stessa cosa, ma mi serviva un qualcosa di facilmente utilizzabile,...ed eccolo qui.
Il software funziona in ambiente Windows (la versione MAC seguirà a breve) ed è portabile. Basta eseguire il software senza bisogno di alcuna installazione. Per configurarlo, occorre solo settare il MIDI out, relativo al synth da comandare.
In presenza di Driver Midi multi-client, oggi sempre più frequenti, è possibile eseguire il software in parallelo con altri software che utilizzano la medesima porta MIDI (DAW, Editor, Librarian,..)
Il comando Program Change è sempre attivo (basta selezionarlo): per inviare la terna MSB-LSB e Program change occorre cliccare sul pulsante Send To Synth.
Qui il link per il download. 

31 Gennaio 2022

Emulazione software di Access Virus B/C

Come  è noto, esistono  numerosi synth digitali del passato realizzati con la famiglia dei DSP Motorola 563xx. E' nato da qualche mese un progetto open source che si prefigge di emularli, virtualizzando in software l'intero DSP e facendo leggere una copia della ROM che contiene il "codice macchina" del synth.
Il risultato che si ottiene è il medesimo suono digitale (successione di samples, tipicamente 24 bit/44.1-48 Khz) della controparte Hardware con l'unica differenza del suono dovuta alla successiva conversione D/A che viene effettuata dalla scheda/interfaccia audio del computer.

Dopo un lungo lavoro di ottimizzazione del codice, si è riusciti ad ottenere performance tali da poter eseguire in realtime l'emulazione, uguagliando la potenza di calcolo di un Motorola 56362 (136 MIPS) su processori Intel i5/i7 più o meno recenti e sul nuovo Apple M1.
Esiste una beta stabile, in grado di emulare sia l'ACCESS Virus B che il C: tra le due l'emulazione del Virus B è più leggera in quanto il synth ha minore polifonia massima (24 vs. 32 voci) e pertanto è meno onerosa in termini di occupazione CPU.

Per alcune questioni di copyright si è scelta la strada della compilazione JIT (Just in time) dove si perde un po' in performance, ma vengono mantenute distinte l'emulazione del DSP dalla presenza della ROM che non viene fornita direttamente dagli sviluppatori.

Per verificare la qualità della emulazione ho eseguito sul mio PC di ufficio (Intel Nuc con processore Intel Core i7-8559U@2,7 GHz di ottava generazione - TDP 28 Watt e interfaccia audio Zoom UAC-2 con SR 44.1 Khz e buffer 256) una sequenza del brano Equinoxe 5 di J.M.Jarre, mantenendo attivo il monitoraggio risorse per la verifica della occupazione CPU.
La registrazione del video avvenuta in realtime, è stata fatta tramite il software OBS studio che ha una occupazione CPU notoriamente bassa e che impatta in minima parte sulle performance complessive.
Segue il video.

Per approfondimenti ecco i link Sito di riferimento: dsp56300.wordpress.com

Forum con i dettagli, esempi audio e evoluzioni del progetto Discord

Sorgenti dell'emulatore github.com/dsp56300/gearmulator

12 Maggio 2021


Roland Personal Model Expansions e Toni Zen-Core corrispondenti

 

Le Zen-Core MODEL EXPANSIONS (prima detti “model banks”) nascono come metodo per emulare alcuni sintetizzatori vintage Roland in alcuni Hardware Zen-Core compatibili e all’interno del software ZENOLOGY.

Ad oggi esistono 4 modelli compatibili con Jupiter X/XM, Fantom e Zenology (le expansions Juno-106, Jupiter-8, SH-101 e JX-8P) a cui si aggiunge l’expansion JD-800 disponibile per Jupiter X/XM e Zenology.

Nel futuro sicuramente saranno rese disponibili nuove Model Expansion, che in base a quando promesso da Roland, grazie alla potenza del sistema di sintesi ZEN-Core, consentirà di creare
“…sintetizzatori Roland nuovi ed entusiasmanti che possono trarre ispirazione dall'hardware esistente o essere realizzati in completa autonomia..” vedi link

Grazie a numerose prove e alla documentazione sulla implementazione dei messaggi MIDI System Exclusive di Fantom sono riuscito ad ottenere due risultati che ampliano di molto le possibilità di sintesi dei MODEL EXPANSIONS attualmente esistenti. In dettaglio sono riuscito a:

- creare dei Personal Model Expansions in cui ho modificato la struttura di quelli già esistenti aggiungendo nuove caratteristiche e, in alcuni casi, aumentando la polifonia fino a raddoppiarla.

- convertire un qualunque suono di un qualunque Model Expansions (ad eccezione del JD800) nel corrispondente tone Zen-Core: tale tono suonerà identico, sarà editabile e ovviamente potrà essere suonato su qualunque Hardware Zen-Core (Ax-Edge, Rd-88, MC-101, MC-107 e MV-1 compresi), sul software Zenology e sulla APP ZenBeat (ZC1 instrumets)


Per capire come ciò sia possibile, occorre pensare ai Model Expansions, come dei template (o macro) che in “background” operano sulla struttura Zen-Core corrispondente al modello scelto.
Ogni volta in cui si interviene su di un parametro di sintesi del modello, il software (firmware negli HW) modifica in base a delle corrispondenze ben precise, uno o più parametri del motore Zen-Core che continua a funzionare esattamente come in modalità standard. In più vengono attivati e modificati dei parametri Zen-Core nascosti che non accessibili direttamente, ma solo tramite MIDI SysEx.

La cosa interessante è che nel momento in cui viene memorizzato e/o esportato un qualunque suono di un model, non solo sono memorizzati i valori dei parametri del modello (Es. OSC, Filtri, ENV, MOD di un SH-101) ma vengono memorizzati tutti i corrispondenti valori della struttura Zen-Core standard sottostante.

Se infatti si prova ad esportare (file .svz) un tono di un ModelBank e uno Zen-Core, il primo pur avendo molti parametri in meno, avrà una dimensione maggiore: nel file vengono pertanto memorizzati anche tutti i valori del suono Zen-Core corrispondente.

Grazie a questa caratteristica sono riuscito a creare quelli che ho chiamanto i “Personal Model Expansions”: sono partito da un modello esistente, tramite MIDI SysEx ho modificato la struttura di sintesi del modello Zen-Core sottostante e da quel momento in poi ogni modifica dei parametri del Model Expansion interviene sul nuovo modello creato. La piena compatibilità e la possibilità di esportare e condividere i suoni è garantita dalla presenza dell’intero tone Zen-Core sottostante, in ciascun suono user creato.

Tutti i Personal Model Expansions sono ovviamente editabili e pertanto da ciascuno è possibile creare, memorizzare e condividere, tutte le modifiche (nuovi suoni) che si desiderano.

Ho creato, per adesso :-) , una ventina di Personal Model Expansions: ecco qualche esempio

- Personal Model Juno 106 con SAW e SQR detunati
- Personal Model Juno 106 con oscillatore SuperSaw al posto del Noise
- Personal Model Juno 106 con 3 oscillatori Saw, due detunati (-6 +6 Cent) e uno con PWM
- Personal Model JX-8P con oscillatore aggiuntivo SuperSaw (anche in versione sempre non filtrata)
- Personal Model JX-8P con oscillatore aggiuntivo Strings PCM stereo
- Personal Model JX-8P con oscillatore aggiuntivo con il campione PCM stereo Syn Vox1 (il classico suono del Fairlight SARRAR)
- Personal Model SH-101 con un oscillatore Alpha Juno (al posto del SQR) e dotato di PWM
- Personal Model Juno 106 con i soli OSC SAW e SQR (anche in versione detunata) e polifonia che passa da 14 a 28 voci
- Personal Model JX-8P con polifonia 28 voci (eliminato l’oscillatore noise di sottofondo che riduce la polifonia dello strumento da 28 a 19 Voci)

Segue la lista completa (click per ingrandire)



Grazie a quanto visto, il secondo risultato che sono riuscito ad ottenere è stato quello di convertire un qualunque suono di un qualunque Model Expansions (ad eccezione del JD800) nel corrispondente tone Zen-Core: tale tono suonerà identico, sarà editabile e ovviamente potrà essere suonato su qualunque Hardware o Software Zen-Core compatibile.

Riguardo il modello JD800, è possibile ugualmente effettuare le personalizzazioni utilizzando uno Jupiter x (che non ho 😊) : speriamo tra breve di vederlo implementato anche su Fantom.
Ciò è possibile grazie ad una combinazione di messaggi MIDI SysEx che permettono la lettura e quindi l’export dell’intero tone Zen-Core sottostante ad ogni Model Expansions (standard o “personal”).
Ottenuto il tono Zen-Core, è poi possibile memorizzarlo e quindi esportarlo e condividerlo come un qualsiasi suono Zen-core standard. Da qui la possibilità di farlo suonare anche su tutti gli Hardware Zen-Core (Ax-Edge, Rd-88, MC-101, MC-707 e MV-1) che non leggono nativamente i model Model Expansions.

Ovviamente nel momento in cui si decide di editare tale suono, vengono persi tutti i vincoli del template del modello che lo ha generato, lasciando la più totale libertà esattamente come per ogni tono zen-core.

Seguiranno degli approfondimenti per permettere di creare, liberamente e in maniera abbastanza semplice, i propri “Personal Model Expansions”.

Potete scaricare gratuitamente i 21 Personal Model Expansions e i 21 Zen Core Tone corrispondenti qui.

Segue un video da cui si può verificare la identicità del suono di un Model Expansion (eseguito dal software Zenology-Pro) con il  corrispondente Tono Zen-Core che ne deriva, questo suonato da un AX Edge, synth nativamente non compatibile con i Models.

24 Febbraio 2021


Roland Fantom#444xchallenge

 

Sono stato invitato a partecipare alla Roland Fantom #444xchallenge ed ecco il mio video.

Ho sfruttato la incredibile flessibilità del motore di sintesi Zen-core per la base ritmica: 8 layer/30 parziali per simulare una wavesequence, di ispirazione Korg (i samples sono tutti campioni ROM della sintesi Zen-Core) e in più un acustic drum Kit.

I 4 models sono stati utilizzati per tutto il resto, melodia inclusa: complessivamente 13 zone in esecuzione senza alcun problema di timing o polifonia.

Qui il link della scena che contiene suoni e sequenze: chi possiede un Fantom lo può liberamente scaricare e utilizzare.

...e qui con una improvvisazione di DoctorMix sul mio brano!!

 

Sintesi Wavetable e Wave Sequences con Roland Fantom....work in progress
(Part 2)

Proseguono i test riguardo la possibilità di implementare tramite la sintesi Zen-Core di Fantom, dei Tones che simulano degli oscillatori a sintesi wavetable e wavesequence.
Per verificare la reale funzionalità delle wavesequences, ho provato ad implementare quella che “storicamente” viene considerata la più famosa: è il classico preset SkiJam del Korg Wavestation.

Tale wavesequence è realizzata come catena di 30 samples, che si susseguono ad intervalli regolari, con l’eccezione del primo e del sample N.16 che hanno durata doppia.
La durata complessiva della sequenza, con Tempo=140,52 bpm è pari a 6,5 sec circa: ogni slot ha la durata di circa 213 ms.

Il metodo che ho utilizzato in Fantom è stato quello di creare 8 Z-Core Tones, ciascuno composto da 3 o 4 parziali, con valori crescenti di delay dell’innsesco del suono, implementato tramite il paramentro Z-core Delay Time (0-1023).
La sequenza si attiva all’interno di una scena grazie al fatto che i Toni sono in layer.

Per la scelta dei valori corretti di Z-Core Delay Time, che ovviamente non possono essere inseriti a tentativi, ho utilizzato una tabella che ho compilato che associa ad ogni valore Z-Core Delay Time (0-1023) il corrispettivo valore in ms.
Fantom all’aumentare del ritardo in ms “offre” dei valori corrispondenti sempre meno precisi: tale imprecisione è al di sotto dei 10 ms per ritardi fino a circa 3 secondi e arriva ad una approssimazione di 20 ms nel caso del ritardo massimo che è pari a 6,7 secondi.
Per questo motivo, volendo un timing preciso, ho scelto di splittare la wavesequence in due layer di 4 toni ciascuno: per fare eseguire la sequenza intera occorre suonare pertanto due note: la prima che innesca i campioni (1-15) e la seconda, un’ottava più in alto, che innesca i campioni successivi (16-30).

I 17 campioni utilizzati sono stati campionati dalla versione VST della Korg Wavestation.
Segue una tabella riepilogativa.

Il fine del test è stato quello di verificare la capacità di Fantom di eseguire le sequenze senza problemi di timing e di polifonia.

Il risultato è incredibilmente positivo: ho creato una breve song direttamente all’interno di Fantom e senza alcun problema si riescono a suonare le wavesequence, degli accordi, la parte di basso e di batteria senza alcun problema di polifonia e di timing.

Come è intuibile, il fine ultimo non è quello di clonare le wavesequenze di Korg, cosa che è stato un piacevole divertimento, ma quello di sfruttare tali potenzialità del Fantom, per creare sonorità apparentemente riservate ad altri synth, come il recente Korg Wavestate.

Con Fantom, grazie alla struttura di sintesi Zen-Core e alla possibilità di utilizzare all’interno di una unica scena fino a 16x4 catene di sintesi OSC->Filtro->Amp, è possibile creare suoni che sono tipici dei sintetizzatori con oscillatori Wavetable e WaveSequence.

Segue un video con una breve demo.

 


Gennaio 2021


Sintesi Wavetable e Wave Sequences con Roland Fantom....work in progress

Con Fantom, grazie alla struttura di sintesi Zen-Core e alla possibilità di utilizzare all’interno di una unica scena fino a 16x4 catene di sintesi OSC->Filtro->Amp, è possibile creare suoni che sono tipici dei sintetizzatori con oscillatori Wavetable e WaveSequence.

I metodi che ho utilizzato sono molto simili a quanto descritto per Montage e Modx, con una serie di differenze che derivano dalla struttura di sintesi che è ovviamente diversa.

Il principio di base è quello di considerare le Wavesequence e le Wavetables come una somma di singoli suoni aventi un delay ben preciso per l’innesco del suono e un inviluppo modellato ad hoc e in grado di creare eventualmente crossfade tra campioni successivi.

I campioni nel caso delle wavetables sono tendenzialmente “single cicle wave” creati tramite software esterni e caricati come user samples: è anche possibile utilizzare i campionamenti residenti in ROM, cosa che permette di utilizzare le stesse tecniche sintesi per altri synth ZEN-Core come Jupiter-X/XM e AX Edge.

A titolo di esempio la “tabella” che crea il suono “synthesizer” è realizzata tramite il layer di 3 toni che con 11 parziali creano la frase: Synt-esai-ser

Seguiranno degli approfondimenti con delle tabelle utili per calcolare in automatico i vari parametri da impostare, come ad esempio la corrispondenza tra ciascuno dei valori numerici (0-1023) di Delay Time nei corrispettivi ms (0-6700 ms).

Segue un video con una breve demo.



Giugno 2020

Sintesi Wavetable e Wave Sequences con Yamaha Montage e MODX


 

Utilizzando il motore di sintesi AWM2 presente nei synth Yamaha Montage e MODX, sono riuscito a trovare dei metodi che permettono di avere sonorità analoghe a quelle che si ottengono nei Synth e Virtual dotati di oscillatori Wavetable o in grado di leggere Wave Sequences.

Per approfondimenti, test e sperimentazioni trovate:

- Un articolo che analizza in dettaglio 4 diverse tecniche ai seguenti links:



- Un articolo che spiega come creare le waveforms compatibili con il Montage (MODX) composte da forme d'onda "single-cicle".
Tali waveform, ottenute partendo da una Wave Single-Cicle di 2048 campioni (lo standard di Xfer Serum) diventano i "mattoni base" per la creazione e l'utilizzo di wavetables nel Montage



- La libreria free WavetablesMontage.X7L che contiene 75 Waveform con forme d'onda "single-cicle", più di 30 Performance organizzate in 3 LiveSet ciascuna dotata di una User Audition creata in funzione di tali suoni.  La libreria è utilizzabile senza alcun problema anche con il MODX

Qui il link.

Potete ascoltare le 30 Audition nell'articolo principale, mentre un "the best of" in questo "Video Trailer".
Per rimanere aggiornati potete iscrivervi al mio canale Youtube (click su "subscrive").

12 Aprile 2020

Montage e Wavetables !??!


Chi ha un Yamaha Montage o MODX spera da sempre nella possibilità che possano essere inseriti nuovi motori di sintesi che si sommino alla AWM2 e FMX.
L'analisi dell'Hardware lascia in realtà poco spazio a tali ipotesi in quanto il chip SWP70, cuore della sintesi del Montage e del MODX sembra essere un ASIC che contiene sezioni DSP programmabili solo per la parte effettistica: la catena sonora di sintesi (il "synth core") sembra essere realizzata con una architettura fissa che contiene in hardware le varie sezioni (oscillatori con lettura di tabelle e campioni, filtri, ENV, modulazioni..).
A prova di tale ipotesi ci sarebbe l'attuale andamento degli aggiornamneti del firmware che per la parte sonora, a meno della implementazione di un incrementato dell'intervallo del parametro LFO Speed, ha inserito solo novità negli effetti (VCM Mini Filter, Wave Folder,..).
A questo si aggiunge l'analisi degli ASIC Yamaha del recente passato, quali il YMW820 e i core delle schede AN-200 and PLG150-AN, in cui la parte effetti è l'unica implementata in DSP: qui in interessante approfondimento LINK

Non ci sono conferme ufficiali e pertanto, la speranza della implementazioni di nuovi motori di sintesi (VA, Wavetables,...) rimane ancora: nel frattempo sto cercando di simulare parte della classica sintesi con oscillatori wavetables, utilizzando quello che il Montage può fare con l'attuale firmware (3.0).
Allo stato attuale sono riuscito ad simulare la lettura di una Wavetable composta da 8 cicli di forma d’onda, letti in successione: in particolare ho ottenuto un suono che fa "cantare/suonare" al Montage la parola FMX (EFF-EM-ICS).
In più ho realizzato anche la simulazione della lettura cicclica tramite LFO a velocità variabile di una Wavetable composta da 4 cicli di forma d’onda.
Prossimamente pubblicherò un breve articolo con la descrizione di quello che ho fatto con qualche performance di esempio

Qualche precisazione è doverosa: i metodi implementati non sono ne semiautomatici e ne veloci da implementare, anche se con un buon numero di performance già pronte e di "Waveform Single cicle" diventa possibile sperimentare e programmare nuovi suoni in maniera più veloce.
In più non è neanche necessario utilizzare software esterni, a meno di procurarsi i cicli di forma d’onda con cui "costruire" la wavetable: in particolare in questi primi test, ho utilizzato l'ottimo Tone2 Icarus2 per ottenere 8 cicli di forma d’onda che sintetizzano la parola FMX (EFF-EM-ICS).

Seguono i due esempi:
- FMX (EFF-EM-ICS) - emulazione della lettura lineare di una Wavetable composta da 8 cicli di forma d’onda
- emulazione della lettura tramite LFO con velocità variabile di una Wavetable composta da 4 cicli di forma d’onda (E-F-S-I). 

Segue un video con qualche shot delle fasi di programmazione
 


 

6 Ottobre 2019

Montage e Loop Point

Come noto, il Yamaha Montage dispone di una Flash Memory di 1,75 GByte a disposizione per gli user samples. Se non si desidera utilizzare software esterni, è possibile creare i propri Multisamples (user Waveforms) caricando da chiavetta USB i campioni (.Wav, .AIF), assegnando poi ciascun campione ad un KeyBank e settando i vari parametri quali Key Range, Velocity Range, Volume, Tune,.... (vedi manuale in Italiano Pag.96-97) 
Se si lavora con multisample complessi (un esempio tra tutti, i classici 88 campioni di un pianoforte per N livelli di dinamica) è molto più comodo utilizzare software esterni, molti dei quali in grado di fare l'import e la conversione da formati quali il classici Sound Font e SFZ (.SF2 o .SFZ). 
Esistono numerosi software in grado di creare multisamples utilizzabili dal Montage: tra questi vorrei citare Sample Robot, (gratuito per chi possiede il Montage), Translator 6 di Chicken System e l'ottimo Montage Waveform Editor di John Melas.
Recentemente, nell'utilizzo del software di J.Melas, ho scoperto che nell'import di campionamenti il software Montage Waveform Editor modifica i punti di loop start ed End, andando spesso a calcolare e aggiungere dei pezzi di onda per creare dei loop leggibili correttamente dal Montage.
Confrontandomi tramite mail con lo sviluppatore, persona veramente molto gentile e disponibile, mi è stato detto che da sue informazioni il punto di End loop point deve necessariamente essere del tipo N*16-1 (15, 31, 47,63,..): da qui le modifiche ai loop point e al contenuto del campione.
A verifica della cosa, ho provato a realizzare dei campioni caratterizzati dal fatto di avere un loop end point avente valori diversi da tali multipli (N*16-1) e che se non interpretati correttamente, in grado di generare click evidenti: tra questi una sinusoide molto "stretta" (periodo di soli 16 campioni)  che produce un artificio evidente nel caso in cui il loop è letto e gestito dal Montage in maniera errata.
Volendo escludere ogni possibile dubbio e la remota ipotesi che eventuali diverse revisioni HW del Montage si comportino in maniera differente,  ho creato una libreria (e anche un file User) di test con una serie di performance in grado di mettere alla luce eventuali click ed errate interpretazioni del punto di loop. Le 11 Waveform sono state create caricando direttamente dal Montage i .wav di test; in dettaglio 7  sono composte da un singolo campione, 3 da 2 campioni e 1 da 4.

Il test mi ha portato a concludere che, almeno sul mio Montage7 non esiste tale limite sul punto di loop; tutti i campioni e le performance che li contengono anche in Layers sono privi di click o anomalie: a riguardo gli unici limiti riscontrati sono la dimensione minima della lunghezza di loop che è di 80 campioni (al di sotto, il Montage interpreta il campione come one shot) e che per un sample a 44100 Hz il campione può essere trasposto in alto di massimo 24 semitoni (per note più alte, il pitch rimane fisso a +24 semitoni). Il limite è ovviamente superabile creando dei multisample.

Click qui per continuare

 

26 Novembre 2017

Web Audio Modules (WAM) - Synth e bassa latenza sul web

E' da parecchi anni che si sta cercando uno standard comune in grado di permettere la creazione e l'utilizzo di synth caricabili all'interno di un Web Browser e pilotabili tramite interfaccia MIDI. Le principali difficoltà da superare sono sempre state quella delle performance e della latenza (al di sopra di 15-20 ms diventa abbastanza complicata l'esecuzione in tempo reale).
Riguardo le performance si ambisce a garantire analoghe prestazioni rispetto ai classici Virtual Synth in formato eseguibile (.EXE) o VSTi (AU per i Mac). L'ostacolo che sembrava insormontabile era dovuto ai due linguaggi di programmazione utilizzabili nei browser, Java e JavaScript, che non sono in grado di rivaleggiare con le performance di un eseguibile programmato in C o C++ e successivamente compilato in linguaggio macchina.

I limiti di performance sono stati superati dall'introduzione del WebAssembly, che è un linguaggio "low-level" molto simile all'assembly che è già supportato da numerosi browser e che garantisce performance di fatto identiche al linguaggio macchina. Agli sviluppatori bastano piccole modifiche per poter riutilizzare lo stesso codice C/C++ usato nelle applicazioni e compilandolo in WebAssembly.

Il Web Audio Modules (WAM) è un pacchetto di sviluppo e un insieme di librerie che ha l'ambizione di diventare l'equivalente del VST ma sul web. Il sito di riferimento è www.webaudiomodules.org

Tutta la parte più delicata del WAM riguardo le performance (il "cuore" dei vari synth e del trattamento DSP dell'audio) può essere scritto in C++ o in JavaScript per poi essere compilato in WebAssembly.

Ad oggi sono già disponibili quattro virtual synth alcuni dei quali hanno l'equivalente in formato VST: due emulazioni della DX7 (l'ultranoto Dexed e Webdx7), un "virtual analog" emulazione dell' Oberheim OB-X e per ultimo l'emulazione del Synth Casio CZ101 in Modulazione di Fase (PD). Seguono i link

Web Dexed


Click qui per continuare

24 Agosto 2017

KORG iMono/Poly per iOS

Dal 23 Agosto 2017 è disponibile l'app KORG iMono/Poly per iPhone e iPad.

Il software viene fornito con 128 suoni (Bank Factory A) e tramite acquisto in-app è possibile disporre di ulteriori 128 suoni (Factory B). In aggiunta a questi, la app permette la importazione dei banchi di presets del corrispondente software disponibile per PC e Mac, il Korg Legacy Collection Mono/Poly.

La procedura per importare i 256 suoni (2 banchi presets) del Korg Legacy Collection Mono/Poly è la seguente:
- effettuare il download dei 2 banchi Presets Bank A e B
- eseguire da Pc/Mac il programma iTunes e collegare l'iPhone - iPad
- unzip dei due banchi Presets_PC_BankA.mp4bank e Presets_PC_BankB.mp4bank e copiarli nella cartella "condivisione File" della app iMono/Poly

- eseguire la App e importare i due banchi

Click qui per continuare

 

Luglio 2017

Roland Fantom XR - Driver USB per Windows 8.1 e 10 a 64bit

Il Fanton XR è stato commercializzato dalla Roland a partire dal 2004 e relativamente ai driver USB, fondamentali per l'utilizzo dei software di editing dei suoni, la Roland fornisce quelli compatibili con Vista, Windows 7 e Windows 8.

Seguendo indicazioni di alcuni forum, sono riuscito a modificarli garantendo la compatibilità con Windows 8.1 e Windows 10. Ecco il link: driver USB 64 bit modificati per Windows 8.1 e 10

Segue una breve guida della procedura di installazione.

1) Disinstallare tutti i vecchi driver del Fantom XR.
2) Sconnettere il collegamento USB con il Fantom XR per evitare l'installazione automatica dei driver.
3) Installare i driver modificati dopo aver riavviato windows 10 in modalità "riavvio con driver non certificati". In Windows 10 click su Start, click su SHIFT+Arresta e mantenendo premuto SHIFT selezionare riavvia il sistema.


Al riavvio occorre seguire la successione delle operazioni indicate dalle frecce: l'ultima operazione è quella di premere F7 "disabilita impostazione firma driver"

Click qui per continuare

15 Gennaio 2016

Yamaha Montage

Tra meno di una settimana, a partire da giovedì 21 Gennaio, si terrà  in California il NAMM show 2016 in cui si attendono grosse novità nel settore dei Synth, vista la presenza di marche quali Yamaha, Roland e Korg. Attesissima la presentazione della nuova Workstation Yamaha che dovrebbe chiamarsi Montage.

In attesa di avere comunicazioni ufficiali da Yamaha, sono apparse sul web (vedi qui) informazioni relative alle sue caratteristiche: polifonia a 256 voci, doppio motore di sintesi (AWM2 e FM-X), display touch-screen,... I più scettici parlano di un FAKE, ma viste le innumerevoli somiglianze con il MOXF, l'ultima Workstation Yamaha, serei propenso a pensare che si è trattata di una foto vera, frutto di una "fuga di notizie" imprevista.

Ho realizzato un "collage" in cui appaiono le evidenti le somiglianze. (click per ingrandire)


03 Gennaio 2013

Inaugurata la sezione "Computer Music"

Con l'inizio del 2013, parte una nuova sezione del sito dedicata alla computer music: tra gli articoli in preparazione alcuni dedicati alle migliori applicazioni Ios per Ipad e iPhone con particolari analisi della polifona massima e latenza nella esecuzione real time, tecniche per "prelevare" dall'Ipad informazioni e suoni non accessibili tramite il semplice filesharing di Itunes, e una serie di soundfont free con alcuni suoni "storici" dei synth degli ultimi 20 anni  da utilizzare su Ios e pattaforma Windows.

 

 

31 Maggio 2022

Oscillatori SuperSaw in Roland ZenCore e System-8 -- Oscillatori VA in Zencore

 

31 Marzo 2022

Le espansioni Roland “Wave Expansion” e “SuperNATURAL Expansion”: formati compressi e 16 bit lineari

 

6 Febbraio 2022

Program Change- MSB-LSB- software

 

31 Gennaio 2022

Emulazione software di Access Virus B/C

 

13 Gennaio 2021

New Yamaha Synth

 

29 Novembre 2020

Waldorf Iridium Bug

 

6 Ottobre 2019

Montage e Loop Point

 

26 Novembre 2017

Web Audio Modules (WAM) - Synth e bassa latenza sul web

 

3 Gennaio 2013

Inaugurata la sezione "Computer Music"

 



Maggio 2021

Roland Personal Model Expansions




Aprile 021

Fantom Wavesequence e Wavetables




Giugno 2020

Sintesi Wavetable e Wave Sequences con Yamaha Montage"


Yamaha Montage: creare Waveforms composte da Single-Cicle Waves "


Luglio 2017

Roland Fantom XR - Driver USB per Windows 8.1 e 10 a 64bit"



 

Maggio 2021

Roland Fantom- Yamaha Montage/Modx

 




24 Agosto 2017

KORG iMono/Poly per iOS